/*******************************************************************************
*  file    : abstractgenerator.hpp
*  created : 13.04.2012
*  author  : Slyshyk Oleksiy (alex312@meta.ua)
*******************************************************************************/

#ifndef ABSTRACTGENERATOR_HPP
#define ABSTRACTGENERATOR_HPP

#include <QWidget>
#include <vector>

enum EGeneratorFunction
{
    GF_NONE = 0,
    GF_SIN
};

class TAbstractGenerator : public QWidget
{
    Q_OBJECT
public:
    explicit TAbstractGenerator(QWidget *parent = 0);

    virtual int type(){return GF_NONE;}
    virtual QString name(){return QString("Abstract");}
    virtual double fx(double) = 0;

    bool fx(std::vector<double> & in, std::vector<double> & out);
};

#endif // ABSTRACTGENERATOR_HPP
